package com.example.study2.ClassDefinitionAndUsage.Fields;

/**
 * 静态字段示例
 * 静态字段的特点：
 * 静态字段属于类本身，而不是类的实例（对象）。
 * 静态字段在类加载时初始化，，只有一份内存空间。
 * 所有对象共享同一个静态字段。
 * 使用 static 关键字定义。
 * 可以通过类名直接访问（推荐），也可以通过对象访问（不推荐）。
 */
public class Student2 {
    // 静态字段 - 所有学生对象共享同一个学校名称
    public static String schoolName = "University";

    // 实例字段
    public String name;

    public Student2(String name) {
        this.name = name;
    }

    public void displayInfo() {
        // 访问静态字段（推荐通过类名访问）
        System.out.println("Student: " + name + ", School: " + Student2.schoolName);
    }

    public static void main(String[] args) {
        // 通过类名直接访问静态字段（推荐方式）
        System.out.println("School: " + Student2.schoolName);

        // 技术上可行但不推荐：通过对象访问静态字段
        Student2 student = new Student2("张三");
        System.out.println("学校名称: " + student.schoolName); // 不推荐，容易引起混淆

        // 显示学生信息
        student.displayInfo();
    }
}
/*

        School: University
        学校名称: University
        Student: 张三, School: University
*/
